package cn.tedu.BufferedStream;

import java.io.*;

/**
 * Date：2022年01月
 * Author：程Sir
 * Name： JavaSE-API
 * Content:
 */
public class BufferedDemo {
    public static void main(String[] args) throws IOException {
        outputMethod();
        System.out.println("================");
        inputMethod();


    }

    private static void inputMethod() throws IOException {
        FileInputStream fis = new FileInputStream("d.txt");
        BufferedInputStream bis = new BufferedInputStream(fis);
        // 声明末尾标识
        int len = -1;
        // 循环读取内容
        while((len = bis.read())!= -1){
            System.out.print((char)len);
        }

        bis.close();
    }

    private static void outputMethod() throws IOException {
        // 创建一个字节输出流对象
        FileOutputStream fos = new FileOutputStream("d.txt");
        // 创建一个字节缓冲流对象
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        // 使用缓冲输出流写出数据
        bos.write("hellojava1".getBytes());
        bos.flush();
        /*
              注意： 没有关闭流连接，也就是缓冲区的数据是不能够被写出的，因为没有满
              所有一定要关闭链接，这样的好处就是在释放资源的同时，也将缓冲区的数据flush刷新出去
         */
        // 使用缓冲输出流写出数据
        bos.write("hellojava2".getBytes());
        bos.close();
    }
}
